/// <summary>
/// The interface to a schematic file, which allows access to block data for this schematic.
/// </summary>
class Schematic
{
public:
	/// <summary>
	/// Retrieve a block for a position in the world.
	/// </summary>
	/// <param name="x">The X value of the block you wish to retrieve.</param>
	/// <param name="y">The Y value of the block you wish to retrieve.</param>
	/// <param name="z">The Z value of the block you wish to retrieve.</param>
	const Block &GetBlock(const int &x, const int &y, const int &z);

	/// <summary>
	/// Retrieve a tile entity definition for a block.
	/// </summary>
	/// <param name="x">The X value of the tile entity you wish to retrieve.</param>
	/// <param name="y">The Y value of the tile entity you wish to retrieve.</param>
	/// <param name="z">The Z value of the tile entity you wish to retrieve.</param>
	const NBTTagBase *GetTileEntity(const int &x, const int &y, const int &z);
}